package greedy_algorithm;

public class CanJump {

    public boolean canJump(int[] arr) {
        int n = arr.length;
        int farthest = 0;
        for (int i = 0; i < n - 1; i++) {
            // 不断计算能跳到的最远距离
            farthest = Math.max(i + arr[i], farthest);
            // 可能碰到了0，卡住跳不动了
            if (farthest <= i)
                return false;
        }
        return farthest >= n - 1;
    }
}
